package 力扣;

import sun.applet.Main;

import java.util.HashMap;

/**
 * @author yyq
 * @create 2022-02-26 13:06
 */
public class leetcode859 {
    public static void main(String[] args) {
        String a="abab";
        String b="abab";
        System.out.println(buddyStrings(a, b));
    }
    public static boolean buddyStrings(String s, String goal) {
        boolean flag=true;
        HashMap<Character,Integer> map=new HashMap<>();
        if(s.length()!=goal.length()) return false;
        // 情况一 a,b完全相同 存在一个字符数量大于2
        if(s.equals(goal)){
            for (int i = 0; i < s.length(); i++) {
                if(!map.containsKey(s.charAt(i))){
                    map.put(s.charAt(i),1);
                }else {
                    return true;
                }
            }
            return false;
        }
        // 情况二 a,b仅有两个不相同
        int count=0;
        int[] index=new int[2];
        for (int i = 0; i < s.length(); i++) {
            if(s.charAt(i)!=goal.charAt(i)){
                if(count<2){
                    index[count]=i;
                }

                count++;
                if (count>2){
                    return false;
                }



            }
        }
        if(count!=2) return false;
        if(count==2){
            if(s.charAt(index[0])!=goal.charAt(index[1])||s.charAt(index[1])!=goal.charAt(index[0])){
                return false;
            }
        }
        return flag;
    }

}
